package com.ozo.easy.common.auth;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Set;

/**
 * 当前用户
 *
 * @author ozo
 * @date 2024-12-26
 */
@Schema(description = "登录用户")
@Data
public class LoginUser implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @Schema(description = "用户id")
    private Long userId;

    /**
     * 用户名
     */
    @Schema(description = "用户名")
    private String username;

    /**
     * 用户昵称
     */
    @Schema(description = "用户昵称")
    private String nickname;

    /**
     * 头像
     */
    @Schema(description = "头像")
    private String avatar;

    /**
     * 手机号
     */
    @Schema(description = "手机号")
    private String mobile;

    /**
     * 性别：1-男 0-女
     */
    @Schema(description = "性别：1-男 0-女")
    private String gender;

    /**
     * 部门id
     */
    @Schema(description = "部门id")
    private Long deptId;

    /**
     * 部门名称
     */
    @Schema(description = "部门名称")
    private String deptName;

    /**
     * 菜单权限
     */
    @Schema(description = "菜单权限")
    private Set<String> permissions;

    /**
     * 角色权限
     */
    @Schema(description = "角色权限")
    private Set<String> roles;

    /**
     * 访问令牌
     */
    @Schema(description = "访问令牌")
    private AccessToken accessToken;

    /**
     * 记住我
     */
    @Schema(description = "记住我")
    private Boolean rememberMe;

}
